{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import torch, torchvision\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torch.optim import lr_scheduler\n",
    "import torchvision.datasets as datasets\n",
    "import torch.utils.data as data\n",
    "import torchvision.transforms as transforms\n",
    "from torch.autograd import Variable\n",
    "import torchvision.models as models\n",
    "import matplotlib.pyplot as plt\n",
    "import time, os, copy, numpy as np\n",
    "from livelossplot import PlotLosses\n",
    "from train_model import train_model\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_transforms = {\n",
    "    'train': transforms.Compose([\n",
    "        transforms.RandomHorizontalFlip(),\n",
    "        transforms.ToTensor(),\n",
    "    ]),\n",
    "    'val': transforms.Compose([\n",
    "        transforms.ToTensor(),\n",
    "    ]),\n",
    "}\n",
    "\n",
    "data_dir = 'tiny-imagenet-200'\n",
    "\n",
    "image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),\n",
    "                                          data_transforms[x])\n",
    "                  for x in ['train', 'val']}\n",
    "dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=100,\n",
    "                                             shuffle=True, num_workers=64)\n",
    "              for x in ['train', 'val']}\n",
    "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}\n",
    "# class_names = image_datasets['train'].classes\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Load Resnet18\n",
    "model_ft = models.resnet18()\n",
    "#Finetune Final few layers to adjust for tiny imagenet input\n",
    "model_ft.avgpool = nn.AdaptiveAvgPool2d(1)\n",
    "num_ftrs = model_ft.fc.in_features\n",
    "model_ft.fc = nn.Linear(num_ftrs, 200)\n",
    "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
    "model_ft = model_ft.to(device)\n",
    "#Multi GPU\n",
    "model_ft = torch.nn.DataParallel(model_ft, device_ids=[0, 1])\n",
    "\n",
    "#Loss Function\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "# Observe that all parameters are being optimized\n",
    "optimizer_ft = optim.SGD(model_ft.parameters(), lr=0.001, momentum=0.9)\n",
    "\n",
    "# Decay LR by a factor of 0.1 every 7 epochs\n",
    "exp_lr_scheduler = lr_scheduler.StepLR(optimizer_ft, step_size=7, gamma=0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Loss: 3.0634 Acc: 0.3006\n",
      "Val Loss: 3.2662 Acc: 0.2594\n",
      "Best Val Accuracy: 0.2594\n",
      "\n",
      "Training complete in 16m 6s\n",
      "Best val Acc: 0.259400\n"
     ]
    }
   ],
   "source": [
    "#Train\n",
    "model_ft = train_model(model_ft, dataloaders, dataset_sizes, criterion, optimizer_ft, exp_lr_scheduler,\n",
    "                       num_epochs=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# torch.save(model_ft.state_dict(), \"./models/resnet18_baseline.pt\") "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Load Resnet18 with pretrained weights\n",
    "model_ft = models.resnet18(pretrained=True)\n",
    "#Finetune Final few layers to adjust for tiny imagenet input\n",
    "model_ft.avgpool = nn.AdaptiveAvgPool2d(1)\n",
    "num_ftrs = model_ft.fc.in_features\n",
    "model_ft.fc = nn.Linear(num_ftrs, 200)\n",
    "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
    "model_ft = model_ft.to(device)\n",
    "#Multi GPU\n",
    "model_ft = torch.nn.DataParallel(model_ft, device_ids=[0, 1])\n",
    "\n",
    "#Loss Function\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "# Observe that all parameters are being optimized\n",
    "optimizer_ft = optim.SGD(model_ft.parameters(), lr=0.001, momentum=0.9)\n",
    "\n",
    "# Decay LR by a factor of 0.1 every 7 epochs\n",
    "exp_lr_scheduler = lr_scheduler.StepLR(optimizer_ft, step_size=7, gamma=0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Loss: 0.9274 Acc: 0.7631\n",
      "Val Loss: 1.7688 Acc: 0.5661\n",
      "Best Val Accuracy: 0.5677\n",
      "\n",
      "Training complete in 22m 54s\n",
      "Best val Acc: 0.567700\n"
     ]
    }
   ],
   "source": [
    "#Train\n",
    "model_ft = train_model(model_ft, dataloaders, dataset_sizes, criterion, optimizer_ft, exp_lr_scheduler,\n",
    "                       num_epochs=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
